package com.deyuanyun.pic.pbf.app.domain;

import com.alibaba.fastjson.annotation.JSONField;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description 非内检缺陷点实体类
 * @author Jerry
 * @date 2016-06-28
 */
public class AddDefectResult {
    /**
     * 主键
     */
    private String id;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 创建人
     */
    @JSONField(name ="UserID")
    private String createUser;

    /**
     * 创建备注
     */
    @JSONField(name ="Remark")
    private String createRemark;

    /**
     * 更新时间
     */
    private Date updateDate;

    /**
     * 更新人员
     */
    private String updateUser;

    /**
     * 更新原因
     */
    private String updateRemark;

    /**
     * 逻辑删除字段
     */
    private Short deleted;

    /**
     * 版本
     */
    private Short vsersion;

    /**
     * 数据状态：01，未提交；02，已提交；03，审核通过；04，审核未通过；20，已发布
     */
    private String dataStated;

    /**
     * 驳回原因
     */
    private String dataReasonRejected;

    /**
     * 管道ID
     */
    @JSONField(name = "PipeNameId")
    private String pipeLineId;

    /**
     * 管段ID
     */
    @JSONField(name ="PipeSectionId")
    private String pipeSegmentId;

    /**
     * 统一编号
     */
    private String code;

    /**
     * 陷编号(自定义编号)
     */
    @JSONField(name ="Code")
    private String customNumber;

    /**
     * 非内检缺陷类型(链接CODE)
     */
    @JSONField(name = "DefectTypeId" )
    private String defectType;

    /**
     * 缺陷子类型
     */
    private String featureSubtype;


    /**
     * 缺陷来源
     */
    @JSONField(name = "DeriveId")
    private String defectSource;

    /**
     * 手工输入的绝对距离（m）
     */
    private BigDecimal enterMileage;

    /**
     * x
     */
    private BigDecimal x;

    /**
     * y
     */
    private BigDecimal y;

    /**
     * z
     */
    private BigDecimal z;

    /**
     * 长度（mm）
     */
    private BigDecimal length;

    /**
     * 宽度（mm）
     */
    private BigDecimal width;

    /**
     * 深度（%）
     */
    private BigDecimal depth;

    /**
     * 埋深（m）
     */
    @JSONField (name ="BuryDepth")
    private BigDecimal buriedDepth;

    /**
     * 时钟位置（时:分）
     */
    private String clock;

    /**
     * 记录人
     */
    private String recrder;

    /**
     * 记录时间
     */
    private Date recordTime;

    /**
     * 绝对距离（m）
     */
    @JSONField(name ="Mile")
    private BigDecimal mileage;

    /**
     * 最近参考点ID
     */
    private String referenceId;

    /**
     * 最近参考点
     */
    private String reference;

    /**
     * 相对最近参考点距离（m）
     */
    private BigDecimal referenceDistance;

    /**
     * 修复时间
     */
    private Date repairTime;

    /**
     * 修复方法
     */
    @JSONField(name ="RepairWayId")
    private String repairType;

    /**
     * 修复单位
     */
    private String repairDepartment;

    /**
     * 修复备注
     */
    private String repairRemark;

    /**
     * 维修工作量
     */
    @JSONField(name ="WorkLoad")
    private String repairWorkload;

    /**
     * 维修状态：待维修；修复中；难以维修；已维修
     */
    private String repairState;

    /**
     * 发现时间
     */
    @JSONField(name ="RecordTime")
    private Date foundTime;

    /**
     * 数据提交设备类型：0，PC端；1，移动端
     */
    private Short apparatusType;

    /**
     * 业务组织机构路径
     */
    private String orgBizPath;

    /**
     * @return 主键
     */
    public String getId() {
        return id;
    }

    /**
     * @param id
     *            主键
     */
    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    /**
     * @return 创建时间
     */
    public Date getCreateDate() {
        return createDate;
    }

    /**
     * @param createDate
     *            创建时间
     */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /**
     * @return 创建人
     */
    public String getCreateUser() {
        return createUser;
    }

    /**
     * @param createUser
     *            创建人
     */
    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    /**
     * @return 创建备注
     */
    public String getCreateRemark() {
        return createRemark;
    }

    /**
     * @param createRemark
     *            创建备注
     */
    public void setCreateRemark(String createRemark) {
        this.createRemark = createRemark == null ? null : createRemark.trim();
    }

    /**
     * @return 更新时间
     */
    public Date getUpdateDate() {
        return updateDate;
    }

    /**
     * @param updateDate
     *            更新时间
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    /**
     * @return 更新人员
     */
    public String getUpdateUser() {
        return updateUser;
    }

    /**
     * @param updateUser
     *            更新人员
     */
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser == null ? null : updateUser.trim();
    }

    /**
     * @return 更新原因
     */
    public String getUpdateRemark() {
        return updateRemark;
    }

    /**
     * @param updateRemark
     *            更新原因
     */
    public void setUpdateRemark(String updateRemark) {
        this.updateRemark = updateRemark == null ? null : updateRemark.trim();
    }

    /**
     * @return 逻辑删除字段
     */
    public Short getDeleted() {
        return deleted;
    }

    /**
     * @param deleted
     *            逻辑删除字段
     */
    public void setDeleted(Short deleted) {
        this.deleted = deleted;
    }

    /**
     * @return 版本
     */
    public Short getVsersion() {
        return vsersion;
    }

    /**
     * @param vsersion
     *            版本
     */
    public void setVsersion(Short vsersion) {
        this.vsersion = vsersion;
    }

    /**
     * @return 数据状态：01，未提交；02，已提交；03，审核通过；04，审核未通过；20，已发布
     */
    public String getDataStated() {
        return dataStated;
    }

    /**
     * @param dataStated
     *            数据状态：01，未提交；02，已提交；03，审核通过；04，审核未通过；20，已发布
     */
    public void setDataStated(String dataStated) {
        this.dataStated = dataStated == null ? null : dataStated.trim();
    }

    /**
     * @return 驳回原因
     */
    public String getDataReasonRejected() {
        return dataReasonRejected;
    }

    /**
     * @param dataReasonRejected
     *            驳回原因
     */
    public void setDataReasonRejected(String dataReasonRejected) {
        this.dataReasonRejected = dataReasonRejected == null ? null : dataReasonRejected.trim();
    }

    /**
     * @return 管道ID
     */
    public String getPipeLineId() {
        return pipeLineId;
    }

    /**
     * @param pipeLineId
     *            管道ID
     */
    public void setPipeLineId(String pipeLineId) {
        this.pipeLineId = pipeLineId == null ? null : pipeLineId.trim();
    }

    /**
     * @return 管段ID
     */
    public String getPipeSegmentId() {
        return pipeSegmentId;
    }

    /**
     * @param pipeSegmentId
     *            管段ID
     */
    public void setPipeSegmentId(String pipeSegmentId) {
        this.pipeSegmentId = pipeSegmentId == null ? null : pipeSegmentId.trim();
    }

    /**
     * @return 统一编号
     */
    public String getCode() {
        return code;
    }

    /**
     * @param code
     *            统一编号
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * @return 陷编号(自定义编号)
     */
    public String getCustomNumber() {
        return customNumber;
    }

    /**
     * @param customNumber
     *            陷编号(自定义编号)
     */
    public void setCustomNumber(String customNumber) {
        this.customNumber = customNumber == null ? null : customNumber.trim();
    }

    /**
     * @return 非内检缺陷类型(链接CODE)
     */
    public String getDefectType() {
      String[] defect = defectType.split("#");
        return defect[0];
    }

    /**
     * @param defectType
     *            非内检缺陷类型(链接CODE)
     */
    public void setDefectType(String defectType) {
        this.defectType = defectType == null ? null : defectType.trim();
    }

    /**
     * 缺陷子类型
     * @return
     */
    public String getFeatureSubtype() {
        String[] defect = defectType.split("#");
        return defect[1];
    }

    /**
     * 缺陷子类型
     */
    public void setFeatureSubtype(String featureSubtype) {
        this.featureSubtype = featureSubtype;
    }

    /**
     * @return 缺陷来源
     */
    public String getDefectSource() {
        return defectSource;
    }

    /**
     * @param defectSource
     *            缺陷来源
     */
    public void setDefectSource(String defectSource) {
        this.defectSource = defectSource == null ? null : defectSource.trim();
    }

    /**
     * @return 手工输入的绝对距离（m）
     */
    public BigDecimal getEnterMileage() {
        return enterMileage;
    }

    /**
     * @param enterMileage
     *            手工输入的绝对距离（m）
     */
    public void setEnterMileage(BigDecimal enterMileage) {
        this.enterMileage = enterMileage;
    }

    /**
     * @return x
     */
    public BigDecimal getX() {
        return x;
    }

    /**
     * @param x
     *            x
     */
    public void setX(BigDecimal x) {
        this.x = x;
    }

    /**
     * @return y
     */
    public BigDecimal getY() {
        return y;
    }

    /**
     * @param y
     *            y
     */
    public void setY(BigDecimal y) {
        this.y = y;
    }

    /**
     * @return z
     */
    public BigDecimal getZ() {
        return z;
    }

    /**
     * @param z
     *            z
     */
    public void setZ(BigDecimal z) {
        this.z = z;
    }

    /**
     * @return 长度（mm）
     */
    public BigDecimal getLength() {
        return length;
    }

    /**
     * @param length
     *            长度（mm）
     */
    public void setLength(BigDecimal length) {
        this.length = length;
    }

    /**
     * @return 宽度（mm）
     */
    public BigDecimal getWidth() {
        return width;
    }

    /**
     * @param width
     *            宽度（mm）
     */
    public void setWidth(BigDecimal width) {
        this.width = width;
    }

    /**
     * @return 深度（%）
     */
    public BigDecimal getDepth() {
        return depth;
    }

    /**
     * @param depth
     *            深度（%）
     */
    public void setDepth(BigDecimal depth) {
        this.depth = depth;
    }

    /**
     * @return 埋深（m）
     */
    public BigDecimal getBuriedDepth() {
        return buriedDepth;
    }

    /**
     * @param buriedDepth
     *            埋深（m）
     */
    public void setBuriedDepth(BigDecimal buriedDepth) {
        this.buriedDepth = buriedDepth;
    }

    /**
     * @return 时钟位置（时:分）
     */
    public String getClock() {
        return clock;
    }

    /**
     * @param clock
     *            时钟位置（时:分）
     */
    public void setClock(String clock) {
        this.clock = clock == null ? null : clock.trim();
    }

    /**
     * @return 记录人
     */
    public String getRecrder() {
        return recrder;
    }

    /**
     * @param recrder
     *            记录人
     */
    public void setRecrder(String recrder) {
        this.recrder = recrder == null ? null : recrder.trim();
    }

    /**
     * @return 记录时间
     */
    public Date getRecordTime() {
        return recordTime;
    }

    /**
     * @param recordTime
     *            记录时间
     */
    public void setRecordTime(Date recordTime) {
        this.recordTime = recordTime;
    }

    /**
     * @return 绝对距离（m）
     */
    public BigDecimal getMileage() {
        return mileage;
    }

    /**
     * @param mileage
     *            绝对距离（m）
     */
    public void setMileage(BigDecimal mileage) {
        this.mileage = mileage;
    }

    /**
     * @return 最近参考点ID
     */
    public String getReferenceId() {
        return referenceId;
    }

    /**
     * @param referenceId
     *            最近参考点ID
     */
    public void setReferenceId(String referenceId) {
        this.referenceId = referenceId == null ? null : referenceId.trim();
    }

    /**
     * @return 最近参考点
     */
    public String getReference() {
        return reference;
    }

    /**
     * @param reference
     *            最近参考点
     */
    public void setReference(String reference) {
        this.reference = reference == null ? null : reference.trim();
    }

    /**
     * @return 相对最近参考点距离（m）
     */
    public BigDecimal getReferenceDistance() {
        return referenceDistance;
    }

    /**
     * @param referenceDistance
     *            相对最近参考点距离（m）
     */
    public void setReferenceDistance(BigDecimal referenceDistance) {
        this.referenceDistance = referenceDistance;
    }

    /**
     * @return 修复时间
     */
    public Date getRepairTime() {
        return repairTime;
    }

    /**
     * @param repairTime
     *            修复时间
     */
    public void setRepairTime(Date repairTime) {
        this.repairTime = repairTime;
    }

    /**
     * @return 修复方法
     */
    public String getRepairType() {
        return repairType;
    }

    /**
     * @param repairType
     *            修复方法
     */
    public void setRepairType(String repairType) {
        this.repairType = repairType == null ? null : repairType.trim();
    }

    /**
     * @return 修复单位
     */
    public String getRepairDepartment() {
        return repairDepartment;
    }

    /**
     * @param repairDepartment
     *            修复单位
     */
    public void setRepairDepartment(String repairDepartment) {
        this.repairDepartment = repairDepartment == null ? null : repairDepartment.trim();
    }

    /**
     * @return 修复备注
     */
    public String getRepairRemark() {
        return repairRemark;
    }

    /**
     * @param repairRemark
     *            修复备注
     */
    public void setRepairRemark(String repairRemark) {
        this.repairRemark = repairRemark == null ? null : repairRemark.trim();
    }

    /**
     * @return 维修工作量
     */
    public String getRepairWorkload() {
        return repairWorkload;
    }

    /**
     * @param repairWorkload
     *            维修工作量
     */
    public void setRepairWorkload(String repairWorkload) {
        this.repairWorkload = repairWorkload == null ? null : repairWorkload.trim();
    }

    /**
     * @return 维修状态：待维修；修复中；难以维修；已维修
     */
    public String getRepairState() {
        return repairState;
    }

    /**
     * @param repairState
     *            维修状态：待维修；修复中；难以维修；已维修
     */
    public void setRepairState(String repairState) {
        this.repairState = repairState == null ? null : repairState.trim();
    }

    /**
     * @return 发现时间
     */
    public Date getFoundTime() {
        return foundTime;
    }

    /**
     * @param foundTime
     *            发现时间
     */
    public void setFoundTime(Date foundTime) {
        this.foundTime = foundTime;
    }

    /**
     * @return 数据提交设备类型：0，PC端；1，移动端
     */
    public Short getApparatusType() {
        return apparatusType;
    }

    /**
     * @param apparatusType
     *            数据提交设备类型：0，PC端；1，移动端
     */
    public void setApparatusType(Short apparatusType) {
        this.apparatusType = apparatusType;
    }

    /**
     * @return 业务组织机构路径
     */
    public String getOrgBizPath() {
        return orgBizPath;
    }

    /**
     * @param orgBizPath
     *            业务组织机构路径
     */
    public void setOrgBizPath(String orgBizPath) {
        this.orgBizPath = orgBizPath == null ? null : orgBizPath.trim();
    }
}
